<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            position: relative;
            width: 400px;
            border-bottom: 1px solid #ccc;
            margin: 100px auto;
        }

        input {
            width: 370px;
            height: 30px;
            outline: none;
            border: none;
        }

        div img {
            position: absolute;
            top: 2px;
            right: 2px;
            width: 30px;
        }
    </style>
</head>

<body>
    <div>
        <label for="">
            <img src="image/01.webp" alt=""> 
            <!-- 一般input表单是配合lable搭建的结构  -->
        </label>
        <input type="password">
    </div>
    <script>
        // 没找到老师素材 图片网上扒的 尺寸不太合适
        // 需求 如果点击显示密码则把密码框改为文本框
        // 1.确定事件源 元素
        var img = document.querySelector('img')
        var input = document.querySelector('input')
        // 2.绑定事件 执行程序
        var flag = 0 //需要赋值为0 不能不赋值为0 否则实际执行会慢一步操作 不符合逻辑
        img.onclick = function () {
            if (flag == 0) {
                input.type = 'text';
                img.src = 'image/02.webp'
                flag = 1
            } else {
                input.type = 'password'
                img.src = 'image/01.webp'
                flag = 0
            }
        }
  // 显示与隐藏密码的逻辑交互 需借助一个flag为0 的变量 比较好理解 不在赘述了 记着有这么回事



    </script>
</body>

</html>